/* 
 * File:   Juego.h
 *
 * Created on 28 de julio de 2008, 12:27 AM
 */

#ifndef _JUEGO_H
#define	_JUEGO_H

#include "MyWidget.h"
#include "ModeloDB.h"
#include "Mapa.h"
#include "Clases.h"
#include "Atacar.h"
#include "Cartas.h"
#include <QButtonGroup>
#include <QLabel>
#include <QPushButton>
#include <QMessageBox>

class Juego : public MyWidget{
    Q_OBJECT
public:
    Juego(QWidget *parent, int nJug, QString nombres[6], QColor colores[6], QWidget *mwin);
    Jugador jugadores[6];
    Territorio territorios[42];
    Mazo mazo;
    QLabel *lblInfo;
    QPushButton *btnAtaque;
    QPushButton *btnCartas;
    QWidget *mainwin;
    GView *mapa;
    Atacar *frmAtacar;
    Mover *frmMover;
    Database database;
    
    bool seleccionado,conquista;
    int nJugadores,turno,fase,nAtacante,nDefensor,nCanjes;
    void setupUi();
    void cambiarTurno();
    void actualizarVentana();
    void actualizarInfo(int type);
    bool validarVictoria(int nJug);
    void eliminarJugador(int nJug);
    int calcularRefuerzos();
    void inicializarAtaque();
    bool validarAsignacion(); 
    bool validarRefuerzo(); 
    bool validarAtaque();
    bool validarFortificacion();
public slots:
    void clickTerritorio(int nTerritorio);
    void clickAccion();
    void clickCartas();
};

#endif	/* _JUEGO_H */
